home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Memphis Amiga Group
/
MAG diskMAGazine (1992-01)(Memphis Amiga Group).zip
/
MAG diskMAGazine (1992-01)(Memphis Amiga Group).adf
/
Vertex
/
Vertex.Doc.1.17
< prev
next >
Wrap
Text File
|
1991-12-10
|
68KB
|
2,210 lines
Vertex 1.17b
© Copyright 1991 Alexander D. Deburie
All Rights Reserved
Please make sure you have read the file 'Must.Read' before
proceeding.
This shareware version of Vertex may be freely distributed.
****************************************************************
**************************************************************
Welcome to Vertex. This software is shareware. I have spent several
months on this project, and I plan to spend many more adding new
features and updating it. If you find this product useful, I urge
you to contribute, as I am always willing to add features which
registered users ask me to impliment.
There are two types of registration:
1. Registered Users
A contribution of $30 will give you a full working version, a
manual file, documentation for the Arexx port, and a request
form to submit for ideas/features you would like to see added.
New versions will cost $10 for registered users.
2. Preferred Users
A contribution of $50 will give you a full working version, a
manual file, documentation for the Arexx port, a request form
to submit for ideas/features, and FREE updates. (Up to 8 rev.)
I have worked VERY hard to make this package as commercial quality
as possible. Please support my efforts, and creative software for
the Amiga, by contributing.
This evaluation version of Vertex may be freely distributed. The
registered version may NOT be freely distributed.
****************************************************************
****************************************************************
CONTENTS:
Introduction
Intro
The User Interface
Function Descriptions
The Add Menu
Add Basic Shapes
The Selection/Deselection Menus
The Modify Menu
The Transform Menu
Align Sub Menu
The Delete Menu
The View Options Menu
The Miscellaneous Menu
File Formats
Compressed Files
Sculpt 3D/4D Files
Trubo Silver/Imagine Files
Lightwave Files
GEO Format
Wavefront
3D Professional
The Keyboard
The Future
====================================================================
INTRODUCTION:
Vertex is a 3d editor. It differs from other 3d editors in many ways.
First and foremost, the editor does not limit you to 3 views. You can
choose any view, including perspective, to select points and examine
objects. Additionally, the view can be rotated, positioned and scaled
at will by either typed in values or using the mouse. This makes the
editor fast and responsive - no more will you have to move confusing
"selector" boxes around to select vertices. Now you can simply rotate
the view until you can plainly see any vertex you wish to select. You
can choose either a "fast-draw" mode while changing the view, or a
slower, but more detailed, full mode. Also, the view can be rendered at
any time, using the current rotation, position and scale, at the press
of a key.
Selection of Vertices:
Selection of vertices in Vertex is a primary concern. Personnaly, my
efforts in 3d object design were seriously hampered by the frustration
involved in selecting the right vertices. So, an interesting array of
selection facilities have been added to Vertex. Included are:
De/Selection By Vertex
De/Selector Drag Boxes
De/Selection Swap
De/Selection By Name (From a Menu of Names)
De/Selection Patterns
De/Select All Except
De/Select All
Even the compressed file format saves the selection status of
each vertex. Additionally, you can now change the view while selecting
vertices. While the "pick" pointeris active, you can press any of the
4 view gadgets to change the view.
Curved Surfaces:
Curved surfaces represent the vast majority of "real" objects. Vertex
has included two unique functions to make curved objects: Apply Curve
and Multiply.
Apply Curve is a bezier curve interface. You can define a bezier curve
with four control points, and then "apply" that curve to all selected
vertices. The application method can be either Conform, to force
vertices to take the shape of the curve, Average, which averages the
curve with the position of the vertices, and Additive, which adds the
curve to the position of the vertices.
Multiply is a feature totally unique to Vertex. It enables you to plot
any mathematical formula to your 3d objects. Multiply includes full
support for trig functions, a random number generator, scaling by axis,
and much more. This gives Vertex an open end approach to curved surface
generation.
These curved surfaces are only a portion of the modification tools
available in Vertex. You can also fuse vertices together, rondomize
on any or all axes, or subdivide faces.
File Formats:
After you have modified your objects you can save them in many
different formats. Included are:
Scult 3D/4D
Turbo Silver
Imagine
Lightwave
Compressed
GEO
Wavefront
Compressed is a private file format used by vertex to store the same
object in less space, and preserve the selection status of each vertex.
This is not all there is to Vertex, however. There is a full array of
normal functions to:
Create Lathes/Polygons/Grids
Extrude
Duplicate
Move, Rotate, Scale and Size (by hand or typed in values)
Arexx compatability
Deletion
Undo Option
Please note that more detailed documentation will come with a
registered version of Vertex.
*****************************************************************
THE USER INTERFACE:
Vertex uses a unique set of Pop-Up menus. Clicking the right mouse
button will cause a menu to appear directly below the mouse pointer.
There is no need to hold the button down, and moving off the menu will
make it go away. This menu is a list of options, as are regular menus,
but many options will cause another Pop-Up menu to appear with further
options. In this way, the Pop-Up menu system is like a tree. Each menu
is a limb on the tree, and choosing an option from a menu will take you
to a smaller branch on the tree. All branches start with the trunk, or
Main Menu.
The main menu will appear any time you press the right mouse button, or
the space bar (provided you are not currently executing a function).
Listed on the main menu are choices to add objects, select/deselect
vertices, modify objects, transform objects, delete objects, load and
save objects, change the view, and adjust certain options.
Each menu entry is preceeded by a 1 letter code. These one letter codes
are "accelerator keys". With these accelorator keys, you can quickly
start functions, without having to mess with menus. These keys are
designed for speed - take note that most of the keys are located on the
left half of the keyboard. This enables you to keep one hand on the
mouse and one hovering over the left side of the keyboard.
For example, if you wanted to select all vertices at once, and you are
not currently executing a function, you can do so by pressing 'S',
(this will cause the Selection Pop-Up menu to appear) then, after
letting go of the S key, press the 'A' key. All vertices will now be
selected.
In this manual, the accelorator keys will be shown in the form
MenuKey - OptionKey
For example. The select all function above would be shown as: S-A.
Likewise, to deselect all vertices the key command would be D-A. You
should not press the "-" between the letter. After a time you will
no doubt find this feature useful.
The accelerator keys are probably the best way to communicate with
Vertex. You should at least try to get a few of them down quickly. I'd
suggest trying S-A for Select-All, D-A for Deselect-All, and S-C for
Select-Connected.
There is more to Vertex than the Pop-up menus, however. The left side
of the main screen contains several gadgets for altering the view, and
a status list of current information.
The first 4 gadgets, labelled VIEW, allow you to change the view mode.
Options include Perspective, Front, Side and Top. Below these gadgets
are the current view tool. There is always a view tool on. You can
rotate the view, position the view, or scale the view. When the default
cross-hair pointer is shown, (while you are not executing a function),
pressing the left mouse button in the main view window will alter the
view based on whatever tool you have selected. If Rotate is selected,
and you press the left mouse button, the view will be rotated while you
hold the button down and move the mouse. Once you let go of the button,
the view will be re-drawn with the new rotation values.
Below the Adjust View gadgets is a list system information:
VERTS: The current number of vertices
EDGES: The current number of edges
FACES: The current number of faces
VMAX: The maximum number of vertices available
EMAX: The maximum number of edges available
FMAX: The maximum number of faces available
SLCT: The number of currently selected vertices
EULR: The Euler number for all objects. This is the total number
of vertices plus the total number of faces, minus the total
number of edges. This is a handy formula, as certain kinds
of objects have unique Euler numbers.
PAN: The current pan rotation (or X axis rotation)
TILT: The current tilt rotation (Or global Y axis rotation)
POSX: View X position
POSY: View Y position
POSZ: View Z position
ZOOM: Current Zoom Level (.01x to 16x)
Finally, during the course of using Vertex, you will no doubt run into
some requestors. All requestors in Vertex are "fast requestors".
Pressing the return key has the ability to respond to a requestor.
A Vertex Alert has a message and 2 buttons. The return key will
activate the button which is outlined. This is usually the CANCEL
button.
Requestors are asking for information from you. If you press return on
the last line of the requestor, this acts the same as pressing the OKAY
gadget. If you wish to cancel a requestor, you must physically press
the CANCEL button.
===================================================================
FUNCTION DESCRIPTIONS:
****************************************************************
****************************************************************
THE ADD MENU:
Add Polygon A-P
Add Lathe A-L
Add Grid A-G
Add Duplicate A-D
Add Basic Shapes A-B
Add Vertex Precise A-V
Add Vertex A-A
Add Edge A-E
Add Face A-F
****************************************************************
Function: Add Polygon
FastKey: A-P
Description:
Adding polygons is a simple manner. Choose this menu option, and the
shape editor will appear. The main window now acts as a flat polygon
designer. Clicking with the mouse will cause points to appear,
connected to the previous point by an edge. You simply click the points
to create any shape you wish. Clicking the right mouse button will
cause a new menu to appear.
Polygon Menu:
The polygon menu has many features to help you with polygon
creation. Here are the options:
Undo Last Vertex Just as it says, will undo the last point
created. You can undo all the way back to the
first vertex created.
Create Open Polygon This will create an open polygon out of the
shape you have defined. You will be prompted
for an object name. You can continue creating
polygons after this point.
Create Closed Poly This will create a closed polygon, the first and
last points will be connected, and you will be
prompted for an object name. You can continue
creating polygons after this point.
Grid On/Off This will turn a "snap-to" grid on, so your
points will be forced to align with the grid.
Adjust Grid This will let you adjust the grid resolution.
Overlay On/Off Normally, you create objects 1 by 1. Overlay
lets you see the objects already created behind
your new object. This is handly for lining up
new shapes to pre-existing shapes.
Exit Polygon This will leave the polygon creation tool,
aborting any shape currently being created.
All these menu options have associated fast-key commands, and can be
invoked with a single key press. There is no need to press the 'A-P',
since you are already in polygon mode.
Function: Key:
===================== =====
Undo Last Vertex U
Create Open Polygon O
Create Closed Polygon C
Grid On/Off G
Adjust Grid A
Overlay On/Off V
Exit Polygon X
****************************************************************
Function: Add Lathe
FastKey: A-L
Description:
Choose this menu option, and the shape editor will appear. The main
window now acts as a flat edge designer. Clicking with the mouse
will cause points to appear, connected to the previous point by
an edge. You simply click the points to create any shape you wish.
Pressing the right mouse button will cause a new menu to appear.
Lathe Menu:
The lathe menu has many features to help you with lathe creation.
Here are the options:
Undo Last Vertex Just as it says, will undo the last point
created. You can undo all the way back to the
first vertex.
Create Open Lathe This will create an open lathe out of the
shape you have defined. You will be prompted
for an object name, the angle which this shape
will be rotated by, and the number of divisions
to use.
Create Closed Lathe This will create a closed lathe, the first and
last points will be connected, and you will be
prompted for an object name, the angle which
this shape will be rotated by, and the number of
divisions to use. This object will be built like
a doughnut.
Grid On/Off This will turn a "snap-to" grid on, so your
points will be forced to align with the grid.
Adjust Grid This will let you adjust the grid resolution.
Exit Lathe This will leave the lathe creation tool,
aborting any shape currently being created.
All these menu options have associated fast-key commands, and can be
invoked with a single key press. There is no need to press the 'A-L',
since you are already in lathe mode.
Function: Key:
===================== =====
Undo Last Vertex U
Create Open Lathe O
Create Closed Lathe C
Grid On/Off G
Adjust Grid A
Exit Lathe X
****************************************************************
Function: Add Grid
Fast Key: A-G
Description:
Grids are similar to graph paper. You can define the width and height
of the grid, and the resolution.
When this function is chosen a requestor appears, asking for the
following information:
GRIDX: This is the size, in units, of the grid width.
GRIDY: This is the size, in units, of the grid height.
RESX: This is the number of divisions to use for the width.
RESY: This is the number of divisions to use for the height.
NAME: The name of the new object.
Grids are nice for applying curves to and using the multiply function.
Be careful, however, as grids can take up large amounts of storage
space quickly.
****************************************************************
Function: Add Duplicate
FastKey: A-D
Description:
You can duplicate any object or set of selected vertices. You are
presented with a requestor asking for:
DISTX: This is the amount to move the new object on the X axis
DISTY: This is the amount to move the new object on the Y axis
DISTZ: This is the amount to move the new object on the Z axis
NAME: This is the name of the new object. It defaults to the
name of the first selected vertex plus a "-DUP" at the end.
All selected vertices, and any associated edges and faces will be
duplicated.
****************************************************************
Function: Add Basic Shapes
FastKey: A-B
Cube A-B-C
Pointed Star A-B-P
Ring A-B-R
Sphere A-B-S
Cube
When this function is selected a requestor appears asking for the
length, with an height of the cube to be created, and its name.
Pointed Star
You are prompted with a reqiestor asking for the number of Points,
the total diameter, and the name of the object.
Ring
This function brings up a requestor asking for a number of values:
Radius1 The actual diameter of ring sections
Radius2 The total diameter of the finished ring
Points The number of points to create ring sections with
Res The total number of divisions to make in the entire
ring
Name The name of the object.
Sphere
The add basic sphere function askes for the diameter, points and
res of the sphere.
Radius The total width of the finished sphere
Points How many points to make the side of the sphere
Res The total divisions to create the sphere
****************************************************************
Function: Add Vertex Precise
FastKey: A-V
Description:
You can add vertices at precise positions with this function. You are
presented with a requestor asking for:
POSX: The X coordinate of the vertex
POSY: The Y coordinate of the vertex
POSZ: The Z coordinate of the vertex
The name of this vertex will be the name of the last vertex. If you
wish to enter large numbers of vertices in this manner, you may want to
use Arexx instead.
****************************************************************
Function: Add Vertex
Fast Key: A-A
Description:
This function lets you add vertices to the 3d environment. The vertices
will allways be on the X,Y plane. Simple click the pointer anywhere in
the 3d window to add points. Pressing the right mouse button will
abort this operation.
****************************************************************
Function: Add Edge
FastKey: A-E
Description:
This function lets you add edges by clicking on 2 vertices.
You can continue adding edges until you press the right mouse button.
If you create an edge over an existing edge, it will be deleted by
Vertex.
****************************************************************
Function: Add Face
FastKey: A-F
Description:
This function lets you add faces by consecutively selecting 3 vertices.
You can continue adding faces until you press the right mouse button.
If you create an edge over an existing edge, it will be deleted by
Vertex. Add face attempts a "Flush Duplicate Edges" after completing.
Since it is possible that two edges are created with the same
endpoints, the duplicates are deleted. A side effect of this is a slow
down after exiting the Add Face function. Try to add faces early on
in object development and/or enter many faces at once.
****************************************************************
****************************************************************
SELECTION MENU:
Select All S-A
Select Swap S-S
Select Named S-N
Select Vertex S-V
Select Area S-R
Select Pattern S-P
Select Except S-X
Select Connected S-C
****************************************************************
Function: Select All
FastKey: S-A
Description:
This will select every vertex currently in memory.
****************************************************************
Function: Select Swap
FastKey: S-S
Description:
This will swap the selection of every vertex currently in memory. If
the vertex was selected, it will be deselected, and vice-versa.
****************************************************************
Function: Select Named
FastKey: S-N
Description:
This function will bring up a menu of all names currently in memoory.
You can choose any object name you wish by clicking on it.
There is a limit of 40 names for objects. Until I get a wider menu
finished, this limit will remain.
****************************************************************
Function: Select Vertex
FastKey: S-V
Description:
This function will give you the pick pointer so you can select
individual vertices from the main view window. Exit the function by
pressing the right mouse button.
****************************************************************
Function: Select By Area
FastKey: S-R
Description:
This function will give you the pick pointer so you can select
vertices by dragging out a rectangle. Press and hold the left mouse
button to size the rectangle. Exit the function by pressing the
right mouse button.
****************************************************************
Function: Select Pattern
FastKey: S-P
Description:
Selecting vertices by pattern requires entering a selection pattern.
The pattern corresponds to how the vertices are layed out in memory.
Here is an example:
10 Vertices before selection:
(1 means selected, 0 means deselected)
0 0 0 0 0 0 0 0 0 0
After applying the selection pattern '0101' the 10 vertices are
selected as such:
0 1 0 1 0 1 0 1 0 1
As you can see, the selection pattern '0101' will select every
odd vertex, and deselect every even vertex.
Pattern selection is a tricky function. It is not straight forward -
it depends on the order of vertices in memory. Normally, when a lathe
or grid is created, the vertices are added 1 at a time in order of
creation. Some functions in Vertex will change the order of the
vertices in memory. If you plan on using pattern selection, do not use
it after these functions:
fuse
Subdivide Faces
Delete Selected Vertices
These functions will mess-up the order of vertices in memory. You can
use pattern selection after using these functions, but it will not work
very well.
****************************************************************
Function: Select Except
FastKey: S-X
Description:
This function will select every object except the one you choose. This
is a handy function that saves a lot of work when you need it.
Suppose you have 10 objects in memory, and you have half of the
vertices of one object selected. Now, if you want to swap-select the
other vertices in that same object, you could choose Select-Swap. But
doing so will cause ALL vertices to be swapped. Now you must go through
by hand and deselect the unwanted vertices. This function eliminates
the need for this kind of work. Together with Deselect All Except,
you can have finer control over what gets selected and what doesn't.
****************************************************************
Function: Select Connected
FastKey: S-C
Description:
This function will select every vertex which is connected by edges
to a selected vertex.
****************************************************************
****************************************************************
DESELECTION MENU:
Deselect All D-A
Deselect Swap D-S
Deselect Named D-N
Deselect Vertex D-V
Deselect Area D-R
DeSelect Pattern S-P
DeSelect Except S-X
****************************************************************
Function: Deselect All
FastKey: D-A
Description:
This will deselect every vertex currently in memory.
****************************************************************
Function: Deselect Swap
FastKey: D-S
Description:
This will swap the selection of every vertex currently in memory. If
the vertex was selected, it will be deselected, and vice-versa.
****************************************************************
Function: Deselect Named
FastKey: D-N
Description:
This function will bring up a menu of all names currently in memoory.
You can choose any object name you wish by clicking on it.
****************************************************************
Function: Deselect Vertex
FastKey: D-V
Description:
This function will give you the pick pointer so you can deselect
individual vertices from the main view window. Exit the function by
pressing the right mouse button.
****************************************************************
Function: Deselect By Area
FastKey: D-R
Description:
This function will give you the pick pointer so you can deselect
vertices by dragging out a rectangle. Exit the function by pressing the
right mouse button.
****************************************************************
Function: Deselect Pattern
FastKey: D-P
Description:
Selecting vertices by pattern requires entering a selection pattern.
The pattern corresponds to how the vertices are layed out in memory.
Here is an example:
10 Vertices before selection:
(1 means selected, 0 means deselected)
1 1 1 1 1 1 1 1 1 1
After applying the selection pattern '1100' the 10 vertices are
selected as such:
1 1 0 0 1 1 0 0 1 1
The selection pattern is repeated until the last vertex is reached.
Pattern selection is a tricky function. It is not straight forward -
it depends on the order of vertices in memory. Normally, when a lathe
or grid is created, the vertices are added 1 at a time in order of
creation. Some functions in Vertex will change the order of the
vertices in memory. If you plan on using pattern deselection, do not
use it after these functions:
fuse
Subdivide Edges
Subdivide Faces
Delete Selected Vertices
These functions will mess-up the order of vertices in memory. You can
use pattern deselection after using these functions, but it will not
work very well.
****************************************************************
Function: Deselect Except
FastKey: D-X
Description:
This function will deselect every object except the one you choose. This
is a handy function that saves a lot of work when you need it.
Suppose you have 10 objects in memory, and you have half of the
vertices of one object selected. Now, if you want to swap-select the
other vertices in that same object, you could choose Select-Swap. But
doing so will cause ALL vertices to be swapped. Now you must go through
by hand and deselect the unwanted vertices. This function eliminates
the need for this kind of work. Together with Select All Except,
you can have finer control over what gets selected and what doesn't.
****************************************************************
****************************************************************
MODIFY MENU:
Multiply M-M
Apply Curve M-Q
Randomize M-R
Extrude M-X
Subdivide Faces M-F
Fuse Vertices M-W
Name Selected M-N
Make Sphere M-S
****************************************************************
Function: Multiply
FastKey: M-M
Description:
Choosing this function will bring up a requestor asking for a
mathematical formula. This formula must begin with either X=,
Y=, or Z=. On the right side of the equals sign, you can supply any
math formula, utilizing the functions listed below.
In addition to using math functions, certian variables are defined for
multiply. The variables X,Y, and Z are the respective X,Y and Z
coordinates of the current vertex being multiplied. Additional
variables include:
XMAX: The maximum X coordinate
YMAX: The maximum Y coordinate
ZMAX: The maximum Z coordinate
XMIN: The minimum X coordinate
YMIN: The minimum Y coordinate
ZMIN: The minimum Z coordinate
XCEN: The average center X
YCEN: The average center Y
ZCEN: The average center Z
You may use any constant numbers wherever you wish.
The functions supported by Vertex include:
SIN
COS
TAN
ASIN
ACOS
ATAN
LN
LOG10
LOG
EXP
SQRT
RAND
ABS
The trigonometric functions take their input in degrees.
Here are some example (allowable) functions:
Z=cos(x^1.2)*30*sin(z^1.2)
This function will create an interesting "bumpy" pattern to
a grid.
Y=0
This function will flatten all vertices onto the Y axis.
Y=COS(SQR(X*X+Z*Z))*20
This will create a nice water drop effect when applied to an
object on the X,Z axis.
X=SQR(y*cos(z^2))/x*x+23/rand(y*1.2)
I have no idea what this function will produce!
If you have ideas for further functions which might be useful, then let
me know, I will put them in.
Please note that, in order to speed up this feature, I have not
included syntax checking. You must insure that the formula has
properly matched parentheses. However, some wierd formulas ARE defined
in vertex:
Square roots of negative numbers are defined as Sqr(n) = -Sqr(-n)
Division by zero is defined as zero
"Domain" functions which require input from -1 to 1 will be set to
zero if need be.
I have personally noticed some wierd errors with this command. After
making some internal changes to the program, I have not been able to
make these error happen again. My advice is to save your objects
before using this command, that way if it does freak out, you won't be
set back.
****************************************************************
Function: Apply Curve
FastKey: M-Q
Description:
This is the bezier curve interface. Upon choosing this function, you
are presented with a grid with a bezier curve on it, 4 control points
to alter the curve, and a number of gadgets.
The gadgets are outlined below:
------------------------------------------
X | | CONFORM
Y | | AVERAGE
Z | | ADDITIVE
| |
| Curve Drawing Area |
| |
| |
| |
| |
| |
------------------------------------------
X Y Z
The X,Y,Z gadgets in the upper left are called the 'Affect Axis'. This
choice decides which axis will be changed by the curve. The lower X,Y,Z
gadgets determine which axis will be the 'Base Axis' for the curve. As
the coordinates of vertices change along this axis, the corresponding
change will take place on the Affect axis.
If this is confusing, don't worry. Try the function out with a simple
grid, and you will get a feel for it.
Finally, the way the curve will change the vertices on the 'Affect
Axis' can be chosen from the gadgets in the upper right. The choices
include:
Conform: This will force the object to take the exact curve you
have defined
Average: This will average each vertices' orginal position with
the new position determined by the curve.
Additive: This will add the new coordinates to the original
coordinates.
Upon pressing the right mouse button, a pop-up menu will appear with
following options:
Apply Curve: This will apply the curve to all selected vertices
Flip Curve: This will quickly flip the curve vertically
Flatten Curve: This will flatten the curve in the center.
Abort: This will terminate the function, without affecting
any vertices.
****************************************************************
Function: Randomize
FastKey: M-R
Description:
This will let you randomize vertex positions on the X,Y and/or Z axis.
A requestor appears asking for the ranges to randomize each axis. A
value of 0 will cause no change to take place on an axis.
****************************************************************
Function: Extrude
FastKey: M-X
Description:
This is a basic extrude function. You can enter distances to extrude
on any or all three axes. A value of zero will result in no movement
on that axis.
****************************************************************
Function: Subdivide Faces
FastKey: M-F
Description:
This function will take a selected face and create 3 faces from it.
Heres how it works:
A
/ \
/ \
/ \
/ \
/ \
B-----------C
If the above face were subdivided, with the Subdivide Face command,
it would end up like this:
A
/|\
/ | \
/ /D\ \
/_/ \_\
// \\
B-----------C
You will end up with 3 faces: A-B-D, A-D-C and B-D-C.
****************************************************************
Function: Fuse Vertices
FastKey: M-W
Description:
This function will take all selected vertices and fuse them into 1. The
new vertex will be located at the centroid of the selected vertices.
All edges and faces will be repositioned, and some may be deleted, to
create a proper 3d object. This process may cause a small delay. Using
this function with 1000 vertices and 2000 edges will probably take 2
or 3 minutes to execute.
****************************************************************
Function: Name Selected
FastKey: M-N
Description:
This function will let you modify the name of all selected vertices.
After this function executes, all unused names will be flushed from
memory.
There is a limit of 40 names for objects. Until I get a wider menu
finished, this limit will remain.
****************************************************************
Function: Make Sphere
FastKey: M-S
Description:
With this function, you can force all points selected to become a
sphere. The sphere created is dependant on the number of vertices
selected. If only a few vertices are selected, then a rough sphere
will be created. The more vertices used for this function, the better
the sphere will look.
****************************************************************
****************************************************************
TRANSFORM MENU:
Initialize T-I
Move Precise T-M
Rotate Precise T-R
Scale Precise T-S
Size Precise T-Z
Align T-A
Lowest X/Y/Z 1,2,3
Center X/Y/Z 4,5,6
Highest X/Y/Z 7,8,9
Move Free
Scale Free
Size Free
****************************************************************
Function: Initialize
FastKey: T-I
Description:
This will center all selected vertices on the origin (0,0,0)
****************************************************************
Function: Move Precise
FastKey: T-M
Description:
Move precise enables you to move selected vertices any number of units
on any or all axes.
****************************************************************
Function: Rotate Precise
FastKey: T-R
Description:
This function lets you rotate all selected vertices about any axis.
Just enter the rotations in the requestor.
****************************************************************
Function: Scale Precise
FastKey: T-S
Description:
Here you can stretch and squeeze objects on any or all axes. The
values entered in the requestor are relative to 1. So, a scale factor
of 1 will cause no scaling to occur. Values smaller than 1 will shrink
the object, values larger than 1 will expand the object.
****************************************************************
Function: Size Precise
FastKey: T-Z
Description:
With this function you can quickly size objects on all three axes at a
time. Values smaller than 1 reduce the object, and larger than 1 expand
the object.
****************************************************************
Function: Align
FastKey: T-A
Description:
This is a new sub menu added to aid aligning objects.
You are presented with 9 choices for aligning objects. All these
alignments are relative to the first object selected. In order to keep
from flattening entire objects, this command operates based on the
name of each object. Heres an example:
Original
--------- ----------------------
| | | |
---------- | | ----------------------
| | | | Obj 3
| | ---------
---------- Obj 2
Obj 1
After Aligning on the lowest Y:
---------
---------- | |
| | | | ----------------------
| | | | | |
---------- --------- ----------------------
Obj 1 Obj 2 Obj 3
This is a handy function to align 3D text.
****************************************************************
Function: Move Free
FastKey: none
Description:
Lets you Move objects freely about the screen. Since the screen is
only 2 dimensional, the current view will determine which axis the
object will be moved on. The view gadgets themseleves tell you which 2
axis they pertain to.
PERSP:
Up and Down moves the object on the Y Axis
Left and right moves the object on the X Axis
FRONT:
Up and Down moves the object on the Y Axis
Left and right moves the object on the X Axis
SIDE:
Up and Down moves the object on the Y Axis
Left and right moves the object on the Z Axis
TOP:
Up and Down moves the object on the Z Axis
Left and right moves the object on the X Axis
Bear in mind when using this function that no account is taken of the
current view rotations. It is always best to select one of the view
gadgets before entering this function. That way, you will know which
direction to move the mouse. While in this function you can change the
View gadget.
****************************************************************
Function: Scale Free
FastKey: none
Description:
This function lets you scale objects with the mouse. See Move Free for
a definition of which mouse movements will affect which axis.
****************************************************************
Function: Size Free
FastKey: none
Description:
This function will allow you to globally size all selected vertices with
the mouse. After pressing the left mouse button, move the mouse left
and right to change the scale. Abort this function by pressing the
right mouse button.
****************************************************************
****************************************************************
DELETE MENU:
All X-A
Vertices X-V
Edges X-E
Faces X-F
Dup Faces X-D
Dup Edges X-X
****************************************************************
Function: Delete All
FastKey: X-A
Description:
Delete all will delete everything currently in memory. You will first
be presented with a requestor asking if you are sure about deleting
everything.
****************************************************************
Function: Delete Selected Vertices
Fast Key: X-V
Description:
This enables you to delete only the vertices you have selected.
****************************************************************
Function: Delete Selected Edges
FastKey: X-E
Description:
Only edges with both vertices selected will be deleted.
****************************************************************
Function: Delete Selected Faces
FastKey: X-F
Description:
Only faces with all three vertices selected will be deleted.
****************************************************************
Function: Delete Duplicate Faces
FastKey: X-D
Description:
Since many file formats save each face twice, you may wish to delete
the duplicate ones while editing your objects. Be warned, this routine
is not converted to assembly language yet, so it may take a little
time to execute. It may take up to 20 minutes to execute when you have
1500 faces in memory.
****************************************************************
Function: Delete Duplicate Edges
FastKey: X-X
Description:
Similar to deleting duplicate faces, this routine will free up memory
and go a long way towards "cleaning up" an object. This routine is
written in assembly, ans should operate much faster than the face
deleting function.
****************************************************************
****************************************************************
VIEW OPTIONS MENU:
Initialize View V-V
Indicator Size V-I
View Rotations V-R
View Positions V-P
View Scale (Zoom) V-Z
Fast Draw Toggle V-F
Trans Fast Draw Toggle V-T
Render Solid V-1 (or just 1)
Render Wire Frame V-2 (or just 2)
****************************************************************
Function: Initialize View
FastKey: V-V
Description:
Upon selecting this menu option, the view rotations, positions and zoom
factor will be returned to their normal values.
****************************************************************
Function: Indicator Size
FastKey: V-I
Description:
This lets you change the size of the vertex indicators. Allowable
values range from 1 to 10.
****************************************************************
Function: View Rotations
FastKey: V-R
Description:
This lets you enter by hand the view rotations pan and tilt.
****************************************************************
Function: View Positions
FastKey: V-P
Description:
You can change the view positions with typed in values.
****************************************************************
Function: View Scale (Zoom)
FastKey: V-Z
Description:
This function lets you enter the zoom factor. I must note here that my
zoom routine is not perfect. Zooming large objects to 16x
magnification might (probably will) result in odd edges appearing. I
am working on a solution to this problem, but speed is a major concern
in the drawing routines, and all my solutions to this point have
slowed edge drawing considerably.
****************************************************************
Function: Fast Draw Toggle
FastKey: V-F
Description:
When altering the view parameters with the mouse, you may want either
speed or detail. When this flag is on, changing the view with the mouse
will cause a box, the size of all objects, to replace the normal
drawing of the objects. When the flag is off, changing the view will
require waiting for the entire image to re-draw. On slower systems this
delay may take quite a while, and cause a jerky feel to movements.
****************************************************************
Function: Trans Fast Draw
FastKey: V-T
Description:
This toggle works the same as Fast Draw above, but applies to the
Transform menu options of Move Free, Scale Free and Size Free.
****************************************************************
Function: Render as Solid
FastKey: V-2 (or just 2)
Description:
This feature will close the main window and open a 16 color hi-res
screen where the current view will be rendered. You can abort the
render at any time by pressing either mouse button. Please note that
this is in no way intended to be a rendering system. This quick solid
model is provided to aid in object development, and that is all. There
are no facilites to save these images, or transfer them to video, at
this time. I would really like to develop a good scan-line rendering
system at some time in the future, but currently, it is nothing more
than a basic shading routine.
****************************************************************
Function: Render as Wire Frame
FastKey: V-2 (or just 2)
Description:
This feature will close the main window and open a 2 color hi-res
screen where the current view will be rendered. You can abort the
render at any time by pressing either mouse button.
****************************************************************
Function: Animate as Wire Frame
FastKey: V-3 (or just 3)
Description:
A requestor will appear asking for a step value. This is the number of
degrees to rotate by for each frame of the animation. You can abort
this function by pressing and HOLDing the left mouse button.
****************************************************************
****************************************************************
MISCELLANEOUS MENU:
Sleep SPACE-SPACE-S (Or the HELP key)
Save Defaults SPACE-SPACE-Z
Undo On/Off SPACE-SPACE-U
Overwrite SPACE-SPACE-O
About SPACE-SPACE-A
****************************************************************
Function: Sleep
FastKey: SPACE-SPACE-S
Description:
Vertex is written in GFA and assembly language. GFA is a great
programming language, it has built in bezier curves, a built in file
requestor, extremely fast floating point operations and built in
sorting routines, but it lacks one thing which is extremely important
to Amiga users - full multitasking support. It will multitask, but
other tasks will slow to a crawl. This option, also attainable by
pressing the 'HELP' key, will close the editor and enable full
multitasking. To get back from sleeping, simple press the close gadget
of the sleep window on the Workbench Screen. This sleep window has a
further benifit, as it frees up about 65k of precious chip memory.
Hopefully, a future version of GFA will better support multi-tasking.
****************************************************************
Function: Save Defaults
FastKey: SPACE-SPACE-Z
Description:
This will save the file 'Vertex.Defaults' to the S: directory. After
saving this file, everytime you start Vertex, it will read this file
and configure the system to your choices.
Saved are:
Undo On/Off
Indicator Size
Overwrite On/Off
Fast Draw On/Off
Trans Fast Draw On/Off
****************************************************************
Function: Undo Toggle
FastKey: SPACE-SPACE-U
Description:
This will turn Undo on or off. When Undo is on, your allowable number
of vertices, edges and faces will be cut in half, making room for an
undo buffer. You can turn undo on and off at any time.
Turning undo on will only work if you currently have less than 1/2 of
the maximum number of vertices, edges or faces. If you have more than
half the total allowable vertices, edges or faces, then Undo will not
come on. You can determine the status of Undo by examining the "Undo"
gadet on the left side of the screen.
****************************************************************
Function: Overwrite Toggle
FastKey: SPACE-SPACE-O
Description:
When you go to save a file, the system first checks to see if the
file already exists. If this toggle is on, and a file already exists,
you will be asked if you want to over write the file. If this toggle is
off, Vertex will automatically overwrite the file.
****************************************************************
Function: About
FastKey: SPACE-SPACE-A
Description:
This will bring up a requestor telling you the version number of
Vertex, a serial number (for registered users) and the amout of free
chip and fast memory available in the system.
================================================================
FILE FORMATS:
Sculpt 3D/4D
Turbo Silver/Imagine
Lightwave (See Note)
GEO (VideoScape 3D)
Wavefront
3D Professional
****************************************************************
This section describes the major file formats understood by Vertex.
Included are notes on usage, cautions to watch out for, and some
additional notes on using each file format.
At this point, only the 3D object is transferred by Vertex. Face
attributes, ie. color, reflection, transparency, etc., are not
transferred at this time. I am working on a solution to this problem
at this time.
Be warned again that I am not responsible for any mishaps reguarding
files, disks or loss of anticipated profits from use of this program.
It is provided as-is (Please read the file Must.Read).
If a problem does occur, I will be more than happy to find a solution,
if such a solution is possible.
****************************************************************
Sculpt 3d/4d Files
Only Sculpt objects are used by Vertex. Whole scenes, including
light locations, observes, render modes, etc., are not saved with
Vertex files. The files end in .scene only for Sculpt compatability.
Most all Sculpt 3D/4D files should work in Vertex. However, since
sculpt 4D has added new object types to their software, including
b-splines, etc., I can make no guarantee as to object conversion. If
you do have a problem with a file, simply send me the file and I
will attempt to read it in correctly. If you are a preferred user,
I will send you the update as soon as I can. Minor changes such as
this will cost a little. I will pro-rate small changes such as this
to some value relative to time involved, real usefulness, etc.
(This value should not go beyond the $10.00 update price), for
basic registered users.
Sculpt's file format, SC3D, most closely resembles the way Vertex
stores it's information. As a result, these files should load and
save the quickest of all.
****************************************************************
Turbo Silver/Imagine Files
Turbo Silver and Imagine both utilize the same file format. Again,
"primitive" objects, such as sphere's, may not be transferred
correctly. Only individual objects saved and loaded are compatible
with Vertex. These objects can be saved and loaded in the Object
Editor of either package. Again, entire 'CELL' files are not
handled by Vertex, only the individual objects of the cells.
Load time may take a bit. Since the Turbo Silver/Imagine file
format stores faces in a different manner than most other software,
conversion must be performed at load time. The load and save
routines are optimized in assembly, so they should operate fairly
fast. Do not be alarmed at a 2-3 minute delay on standard (68000)
systems.
****************************************************************
Lightwave Files
Lightwave objects are supported within Vertex, but some
restrictions do apply.
Lightwave has the ability to handle polygons which contain more
than 3 vertices. This is a common occurance in many 3D programs,
but Lightwave further complicates the matter. It is possible for
these objects to contain concave components to a face. Let me
explain.
Take, for example, a 6 pointed star, with vertices numbered like
so:
1
/ \
/ \
B---C 2---3
\ /
\ /
A 4
/ \
/ \
9---8 6---5
\ /
\ /
7
Filling this polygon would not be a simple task. If, for example,
we tried to make a face out of the vertices 1-2-3, this face would
be incorrect. The face 1-2-3 is not truly a part of the object. We
could add an extra vertex to the middle of the face, as shown
below, and create faces from this:
1
/|\
/ | \
B---C | 2---3
\ \ | / /
\ \|/ /
A---D---4
/ /|\ \
/ / | \ \
9---8 | 6---5
\ | /
\|/
7
This goes a long way to simplifying the face filling operation.
However, adding vertices like this may over complicate a simple
object.
For example:
1-----2 1-----2 1-----2
| | |\ /| |\ |
| | | \ / | could | \ |
| | >>> | 5 | be | \ |
| | | / \ | | \ |
| | |/ \| | \|
3-----4 3-----4 3-----4
4 Faces 2 Faces
Now we have 4 faces when we could get away with 2. When additional
polygons can add so much time to rendering 3D objects, I felt this
was a real issue which had to be handled in some way.
As Vertex currently stands you are asked for a choice
when loading Lightwave objects. The choices are circular and
radial. Radial will add a vertex to the center of all faces and
connect that new vertex to each corner of the polygon. Circular
will use 1 corner of the polygon as a base, and connect it to all
other corners of the polygon, in a round the clock manner.
Radial
1-------2
/ \ / \
/ \ / \
/ \ / \
6-------7-------3
\ / \ /
\ / \ /
\ / \ /
5-------4
Circular
1==-----2
/|\ \__ \
/ | \ \__ \
/ | \ \_\
6 | \ 3
\ | \ /
\ | \ /
\| \ /
5-------4
If you know you have complicated faces in an object, such as the
star mentioned above, then choose the Radial (Extra Vertex) mode.
If you have faces with only 4 vertices or so, then choose the
Circular method.
It should also be mentioned that not all Lightwave objects will
load correctly. Similar to the star example above, examine this
object:
1------2
| |
| |
| | *
| |
| 3----------------------4
| |
| |
5-----------------------------6
Now we have a situation. Neither method will work correctly on an
object of this type. If we add a new vertex in the center of the
object (*), it would end up above the #3 vertex, and outside of the
polygon. Likewise, if we applied the circular method to the above
shape, we would end up with an edge going from vertex #1 to vertex
#4, which would put the edge outside of the shape again.
What does this mean? Well, Vertex currently cannot handle shapes
of this nature. Whichever method you choose for the entire file
will be applied to the polygon.
Note, however, that the radial method does offer a solution for
this particular example. If you were to manually move the newly
created vertex to a position inside of the original polygon, your
shape would be correct. Example:
1------2 After loading the new vertex
| | \ would be where #7 is.
| | \ (Only the misplaced faces are
| | /7-----_____ shown in the diagram)
| | / ------__
| 3----------------------4
| |
| |
5-----------------------------6
1------2 After repositioning the
| | added vertex into the center
| | of the polygon, we end up with
| | a good shape which matches the
| | original design.
| 3----------------------4
| 7 |
| |
5-----------------------------6
None of these solutions are perfect, but they do offer the
opportunity to load the objects, even if it means a little
extra work on the users part. I do have plans to make this
routine "smarter".
****************************************************************
GEO File Format:
The GEO file format has just been added. This is the file format
used by Video-Scape 3D. Loading should be the simplest operation
of all.
Saving in Geo brings up the "Dual Face" nature of each face in an
object. Geo defines each face as having a direction, aside from
the actual definition of the object itself. As a result, Vertex
saves each face in a bi-directional manner, meaning each face
appears twice in the file.
Since GEO files are in ASCII, you may edit them with any text
editor or word processor which can save in ASCII format (no
control codes/font changes/bold/underline etc.)
****************************************************************
Wavefront Format:
For those with access to a wavefront machine, this is the file
format to use. Similar to GEO, the faces must be duplicated when
saved. Wavefront is a powerful system; it has many feautures which
may make their way into a wavefront file. These will be weeded out
at load time, and they will not appear in the saved object. Again,
the only thing transferred at this point is the object itself.
Also, please note, that when you select a Wavefront file to be
loaded, you must tell Vertex. Vertex tries to determine the
format of any file selected from the file requestor. Most files
start out with an identifier, such as the IFF indentifiers for
Sculpt3d/4d and TurboSilver. However, Wavefront is an ASCII file
format (which means it is plain text - similar to this document
you are reading.) Rather than assuming any ASCII file is a
Wavefront file (which could trash the system), Vertex will ask you
to veryify the file selected is indeed a Wavefront file. A menu
will appear, where you should either select the option "Wavefront"
from the menu _or_ move the mouse off the menu. If you select the
menu option "Wavefront", Vertex will load the object. If, however,
you move the mouse pointer off of the menu without selecting
anything, the load operation will be aborted.
****************************************************************
3D Professional:
This file format is only available for loading. Since 3D Pro
has the ability to load other file formats, it is not necessary to
duplicate that feature here.
================================================================
THE KEYBOARD:
Most all commands in Vertex have an associated key command. Even some
key short cuts do not appear in the menus. Here's a list of the
additional key short cuts.
KEY RESULT
=== ================================
1 Render as a solid
2 Render as a wire frame (hidden line)
3 Rotate as a wire frame
f1 Perspective View
f2 Front View
f3 Side View
f4 Top View
Up Arrow Move Position Up (View Dependant)
Down Arrow Move Position Down (View Dependant)
Left Arrow Move Position Left (View Dependant)
Right Arrow Move Position Right (View Dependant)
- Zoom out by 2
= Zoom in by 2
_ Zoom out by 4
+ Zoom in by 4
¹ Fast quit (no chance to save!) (This is 'Alt-1' )
HELP Enter sleep mode
===============================================================
THE FUTURE:
Finally, I'd like to mention some things about the future of Vertex.
I have plans to put more features into Vertex, and I would really like
to hear what others are looking for in 3d design software. You might
have a great idea for a function or command, or utility that would make
Vertex better. If you submit an idea, and it is feasible, I will
put it in the program.
Currently, I am hoping to add:
Face attributes (Color, Reflectivity, etc.)
Full Booleans
More File Formats
Maybe a seperate rendering package (There seems to be too many!)
Speeding up the Multiply Command
I hope you can make use of Vertex. I have put every effort into
making the program solid. However, a program of this complexity will
doubtlessly have bugs in it. If you find a bug, please let me know by
detailing your system set-up and what you did just before the error
occured.
I can be reached at:
US Mail:
Alexander D. Deburie
4189 Nickolas
Sterling Heights, MI 48310
USA
UseNet:
ad99s461@sycom.mi.org
PS: If you have problems with Vertex, first check out the Vertex.Help
file.
-- Alexnder D. Deburie
===============================================================
Amiga is a registered trademark of Commadore-Amiga, Inc.
Sculpt 3D and Sculpt 4D are trademarks of Byte By Byte, Inc.
Turbo Silver and Image are trademarks of Impulse, Inc.
Lightwave is a trademark of NewTek, Inc.
Wavefront is a registered trademark of Wavefront Technologies, Inc.
Videoscape 3D is a trademark of Aegis Development
3D Professional is a trademark of Progrssive Peripherals & Software